KINGSTAR OPC UA
在本节中将看到关于 OPC UA 的说明,以及为何选择使用此协议的原因及如何配置安全设定。
OPC UA 是什么?
根据 OPC 基金会,OPC 是一项应用于自动化行业及其他行业的资料安全交换可互操作性标准。它独立于平台,并确保来自多个厂商的设备之间资讯的无缝传输,OPC基金会负责该标准的开发和维护。
OPC标准是由行业供应商、终端用户和软体开发者共同制定的一系列规范。这些规范定义了客户端与伺服器之间以及伺服器与伺服器之间的介面,比如访问即时资料、监控警报和事件、访问历史资料和其他应用程式等,都需要 OPC 标准的协调。
OPC标准于1996年首次发布,其目的是将 PLC 特定的协议(如 Modbus、Profibus 等)抽象成为标准化的介面,作为“中间人”的角色,将通用的 OPC “读写”请求转换成具体的设备协议来与 HMI/SCADA 系统直接对接,反之亦然。就此出现了一个完整的产品行业,终端用户可以借助其来最优化产品,通过 OPC 协议来实现系统的无缝交互。
最初,OPC 标准仅限于 Windows 操作系统。因此,OPC 是 OLE for Process Control 的缩写(中文含义:用于过程控制的OLE)。我们所熟知的 OPC 规范一般是指 OPC Classic,被广泛应用于各个行业,包括制造业,营建自动化,石油和天然气,可再生能源和公用事业等领域。
随著在制造系统以服务为导向架构的引入,如何重新定义架构来确保数据的安全性?这给 OPC 带来了新的挑战,也促使 OPC 基金会创立了新的架构—— OPC UA,以满足这些需求。与此同时,OPC UA 也为将来的开发和拓展提供了一个功能丰富的开放式技术平台。
今天,缩写 OPC 代表开放平台通信 (Open Platform Communications)。
统一架构
于 2008 年发布的 OPC 统一架构 (Unified Architecture, UA) 将各个OPC Classic 规范的所有功能统合到一个可扩充的框架中,独立于平台且以服务为导向。
这种多层次方法实现了最初设计UA规范时的目标:
-
功能对等性:将所有 COM OPC Classic 规范映射到 UA。
-
平台独立性:从嵌入式微控制器到基于云端的基础设施。
-
安全性:信息加密、身份认证和审计。
功能对等性
基于 OPC Classic 的成功,OPC 基金会推出了新的技术标准 OPC UA。OPC UA 实现了所有 OPC Classic 的功能,并有以下的增强和超越:
-
发现:在本地 PC 或网络上查找可用的 OPC 伺服器。
-
地址空间:所有资料分层显示(例如文件和文件夹),用于 OPC 客户端发现、利用简单和复杂的资料结构。
-
依照需要:基于访问权限读取和写入资料/讯息。
-
订阅:监测数据/信息,并在当值变化超出客户端的设定时报告异常。
-
事件:依照客户端的标准来设定通知重要讯息。
-
方法:客户端可以基于伺服器定义的方法来执行程序等。
平台独立性
鉴于市场上有各种各样的硬体平台和操作系统,平台独立性就显得至关重要。OPC UA 包含但不限于以下平台及系统:
-
硬体平台:传统 PC 硬体、云伺服器、PLC、微控制器(ARM 等)。
-
操作系统:Microsoft Windows、Apple OSX、Android 或任何 Linux 发行的版本等等。
OPC UA 为企业之间的互操作性提供必要的 M2M、M2E 及两者之间的基础架构。
安全性
企业在选择技术标准时最重要的考量之一是安全性。OPC UA 通过提供一套控制方案来解决安全问题,并透过防火墙来实现:
-
传输:定义了许多协议,提供了超快的 OPC 二进制传输或更通用的 SOAP-HTTPS 等选项。
-
会话加密:讯息以不同的加密级别安全地传输。
-
讯息签名:讯息签名可以保证接收到的信息的准确性和完整性。
-
排序资料包:通过排序消除已发现的讯息重放攻击。
-
身份认证:每个 UA 的客户端和伺服器都需要通过 X509 证书标识,从而决定哪些应用程式和系统可以相互连接。
-
使用者控制:应用程式可以要求使用者进行身份验证(登录凭证,证书等),并且可以进一步限制或增强使用者的访问权限和地址空间的「视图」能力。
-
审计:记录使用者和/或系统的活动,提供存取审计追踪。
更多关于 OPC UA 的资讯请前往其官网查看:https://opcfoundation.org/about/opc-technologies/opc-ua/
KINGSTAR 如何运用 OPC UA?
KINGSTAR 选用 OPC UA 的原因为其提供了完整的功能性及安全性。
资料存取:用户可透过 KINGSTAR 所提供的 OPC UA 资料存取功能将 HMI 或 SCADA 连接至 KINGSTAR 子系统,而 HMI 或 SCADA 可透过 OPC UA 伺服器读取或写入 KINGSTAR 使用者变数及 PLC 全域变数。例如: 使用者可为各轴的移动速度设定使用者变数,接著 HMI 透过 OPC UA 读取该速度变数并将其显上于使用者介面上。更多关于 OPC UA 的设定,请见 OPC UA 伺服器。
API 存取:允许使用者在远端电脑上呼叫 KINGSTAR Motion 或 EtherCAT 之 API,透过 KINGSTAR OPC UA 用户端函式库,用户可轻松的于远端呼叫 KINGSTAR Motion 或 EtherCAT。更多关于与端 API 之资讯请见 IntervalZero.KINGSTAR.OpcUa.Api 及 IntervalZero.KINGSTAR.OpcUa.Class。
基于 OPC UA API 存取功能,KINGSTAR 提供了两个控制工具:KINGSTAR 设定工具及 示波器,这两个工具皆可在远端电脑上执行,且可监控及控制 PC。更多关于如何安装远端工具的资讯请见:安装 KINGSTAR 远端工具。
管理存取:提供控制器管理相关的功能,此功能主要为未来版本的控制管理工具所建立,
如何在 KINGSTAR 中配置 OPC UA 安全设定 ?
KINGSTAR OPC UA 伺服器可自动生成自签署凭证以用于主从端通讯。以下内容说明了伺服器的凭证管理流程及相关配置设定。
- 预设凭证效期:由伺服器自动生成的凭证其预设效期为 10 年(120 个月)。此设计旨在减少频繁地进行凭证更新流程,以确保伺服器与用户端在长时间下保持稳定通讯。
- 再生凭证期限:预设为 60 个月。为防止凭证过期,伺服器会在启动时检查凭证的效期。若伺服器启动时,距离目前凭证的到期日不到 60 个月,伺服器将会自动建立新的凭证以替换旧凭证。
- 存取配置档:欲查看或修改凭证的效期和再生凭证期限,管理员可透过修改配置档中的设定值进行变更。
- 至以下路径找到配置档:C:\Program Files\IntervalZero\KINGSTAR\bin\IntervalZero.KINGSTAR.OpcUa.Server.exe.config
- 在 appSettings 找到以下参数并修改其设定值。
- DefaultCertificateLifeTimeInMonths:设定凭证的预设效期(单位:月)。预设为 120 个月。
- CertificateRecreationThresholdInMonths:定义伺服器启动时,用于检查凭证到期日以判定是否进行凭证再生的阀值(单位:月)。预设为 60 个月。
预设情况下,KINGSTAR OPC UA 伺服器支援所有的授权,这表示任何用户皆可连接上 KINGSTAR OPC UA 伺服器进行加密资料的存取,但不会执行用户验证,具有正确 IP 和密码的任何用户都可连接上 KINGSTAR OPC UA 伺服器。欲提高安全性,可透过更改以下档案以停用支援所有授权:KINGSTAR\bin 资料夹中的 KingstarServer.Config.xml 档,于档案中输入命令列 "<AutoAcceptUntrustedCertificates>true</AutoAcceptUntrustedCertificates>" 以停用支援所有授权。
停用后,请将信任的凭证储存到下列资料夹中:
- 针对 KINGSTAR 4.5 及之后版本,将信任的凭证存到 C:\ProgramData\OPC Foundation\pki\server\trusted\certs
- 针对 KINGSTAR 4.4 及之前版本,将信任的凭证存到 C:\ProgramData\OPC Foundation\pki\trusted\certs
参见